package App.kontrolery;

import App.modele.ModelPrzegladajKontenery;
import App.widoki.PanelPole;
import App.widoki.PanelWarstwa;
import App.widoki.PanelWszystkieWarstwy;
import App.widoki.WidokHistoriaKontenera;
import App.widoki.WidokPrzegladajKontenery;
import java.awt.Color;
import javax.swing.JOptionPane;
import skladowisko.Kontener;
import skladowisko.Pole;

/**
 *
 * @author Krzysiek
 */
public class KontrolerPrzegladajKontenery implements IObslugaWyboruPola, IObslugaWyboruWarstwy
{
    private ModelPrzegladajKontenery model = null;
    private WidokPrzegladajKontenery widok = null;

    private PanelPole wybranePole = null;
    private PanelWarstwa wybranaWarstwa = null;

    //**************************************************************************
    public KontrolerPrzegladajKontenery(ModelPrzegladajKontenery model)
    {
        this.model = model;
        widok = new WidokPrzegladajKontenery(this, model);
    }
    //**************************************************************************
    public void start()
    {
        widok.setVisible(true);
    }
    //**************************************************************************
    public void obslugujWyjscie(Pole pole)
    {
        widok.ustawWybrane(null);
    }
    //**************************************************************************
    public void obslugujWejscie(Pole pole)
    {
        widok.ustawWybrane(pole);
    }
    //**************************************************************************
    public void obslugujWybranie(PanelPole pole)
    {
        if(this.wybranePole != null)
        {
            this.wybranePole.setKlikniete(false);
            this.wybranePole.ustawKolor(false);
        }

        widok.ustawKontener(null);
        widok.aktualizujWybranePole(pole.getPole());
        this.wybranePole = pole;
        pole.ustawKolor(true);
    }
    //**************************************************************************
    public void obslugujWyborWarstwy(PanelWarstwa panelWarstwa)
    {
        if(this.wybranaWarstwa != null)
        {
            this.wybranaWarstwa.setKlikniete(false);
        }

        this.wybranaWarstwa = panelWarstwa;
        widok.ustawKontener(panelWarstwa.getKontener());
        model.setWybranyKontener(panelWarstwa.getKontener());

        if(model.getWybranyKontener() != null)
            widok.setDostepnoscHistorii(true);
        else
            widok.setDostepnoscHistorii(false);

    }
    //**************************************************************************
    public void zerujWidokPoZmianieSkladowiska()
    {
        widok.zerujWybranePole();
    }

    public void pokazHistorie()
    {
        Kontener wybrany = model.getWybranyKontener();
        WidokHistoriaKontenera widokHistoria = new WidokHistoriaKontenera(wybrany);
        widokHistoria.setVisible(true);
    }
    //**************************************************************************
}
